// pages/goods/details.js

//获取应用实例
const app = getApp();
const g = require('../../utils/g.js');


Page({

  /**
   * 页面的初始数据
   */
  data: {
    id:'',      //商品id
    goods:{},    //商品信息
    cart_num:0, //购物数字

    


    //订单
    order:{
      st_id:'',//商铺id  ngid
      shop_id:'',//门店id  来至于 shoplist 
      goods_id:'',//商品id 
      price:'', //价格
      num:'1',//数量
      stock:'',//库存数量 来至于 shoplist 

      goods:{},  //商品对象
      st:{},     //商铺对象
      shop:{},   //门店对象 
    },

    shoplist:[],//店铺列表


    flag: 0, // 0 1 2
    is_add_cart: 0, // 是否添加到购物车

    // input默认是1  
    num: 1,
    // 使用data数据对象设置样式名  
    minusStatus: 'disabled'  

  },

  /* 点击减号 */
  bindMinus: function () {
    var num = this.data.order.num;
    // 如果大于1时，才可以减  
    if (num > 1) {
      num--;
    }
    // 只有大于一件的时候，才能normal状态，否则disable状态  
    var minusStatus = num <= 1 ? 'disabled' : 'normal';
    // 将数值与状态写回  
    this.setData({
      'order.num': num,
      minusStatus: minusStatus
    });
  },
  /* 点击加号 */
  bindPlus: function () {
    var page=this;
    var num = this.data.order.num;
    // 不作过多考虑自增1  
    num++;
    // 只有大于一件的时候，才能normal状态，否则disable状态  
    var minusStatus = num <= 1 ? 'disabled' : 'normal';
    if(num > page.data.order.stock ){
      num = page.data.order.stock;
      g.alert('库存不足！');
    }

    // 将数值与状态写回  
    this.setData({
      'order.num': num,
      minusStatus: minusStatus
    });
  },
  /* 输入框事件 */
  bindManual: function (e) {
    var num = parseInt( e.detail.value );
    if( num < 0 ){
      num = 1;
    } else if ( num > this.data.order.stock){
      g.alert('库存不足！');
      num = this.data.order.stock;
    }
    // 将数值与状态写回  
    this.setData({
      'order.num': num,
    });
  },




  //回到顶部
  onPageScroll: function (e) {
    if (e.scrollTop > 100) {
      this.setData({
        goTop_show: true
      });
    } else {
      this.setData({
        goTop_show: false
      });
    }
  },
  /* tab = gotop */
  goTopFun:function(){
    if (wx.pageScrollTo) {
      wx.pageScrollTo({
        scrollTop: 0,
        duration: 300
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var page = this;
    //判断是否登录 ，没有登录跳转到 welcome页面 ，登录
    g.islogin();


    var id = options.id;
    this.setData({
      id:id,
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
  
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.init();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
  
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
  
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log('onPullDownRefresh:监听用户下拉动作');
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('onReachBottom:页面上拉触底事件的处理函数');
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  
  },
  bind_formId:function(e){
    var formId = e.detail.formId;
    g.formId(formId);
  },
  //----------------------------------
  init:function(){
    var page= this;
    var id=page.data.id;

    //20407 商品详情
    g.api({
      data: {
        code: 20407,
        id: id,
      },
      success: function (d) {
        if (1 == d.status) {

          page.setData({
            goods:d.data.info,
          });



          page.setData({
            'order.st_id': g.ngid,
            'order.goods_id': d.data.info.id,
            "order.price": d.data.info.price,
            "order.goods": d.data.info,
          });
         

        } else {
          console.log(d);
        }

      },
    }, true);
    
    //读取店铺信息
    g.api({
      data: {
        code: 20101,
        id: g.ngid,
      },
      success: function (d) {
        if (1 == d.status) {
          page.setData({
            st: d.data.info,
            'order.st': d.data.info,
            "order.st_id": d.data.info.id,
          });
        } else {
          console.log(d);
        }

      },
    }, 0);

    //购物车
    page.cart_num();


    //读取商铺列表
    page.loadShopList(this);

  },
  //读取商铺列表
  loadShopList:function(){
    var page=this;


    g.getLocation(cb);
    function cb(res){
      g.api({
        data: {
          code: 92001,
          store_id: g.ngid,       //店铺id
          goods_id: page.data.id,  //商品id
          // px: '141.112',          //人当前位置  longitude
          // py: '53.125'		        //人当前位置  latitude
          px: res.longitude ,          //人当前位置  longitude
          py: res.latitude		        //人当前位置  latitude
        },
        success: function (d) {
          if (1 == d.status) {

            page.setData({
              shoplist: d.data.list,
            });


          } else {
            console.log(d);
          }

        },
      }, 0);
    }//var cb=function(){

    

  },
  //购物车num
  cart_num:function(){
    this.setData({
      cart_num:g.cart.num(),
    })  
  },

  //---------------------------------------
  bind_popup_hidden:function(){
    this.setData({
      flag:this.data.flag-1,
    });
  },
  //--------------------------------------
  //点击 购买
  bind_btn_buy:function(e){
    var page = this;
    var is_add_cart = e.currentTarget.dataset.addcart;
    page.setData({
      is_add_cart: !!is_add_cart,  //1buy 2cart
      flag:1, // 0关闭 1店铺列表 2商品
    })
  },
  //--------------------------------
  //选中 门店
  bind_select_shop:function(e){
    var page = this;
    var shop = e.currentTarget.dataset.shop;
    page.setData({
      flag: 2,
      'order.stock': parseInt( shop.stock ) || 0,
      'order.shop_id': shop.id,
      'order.shop': shop,
    });

    if(this.data.order.num > this.data.order.stock){
      page.setData({
        'order.num': this.data.order.stock,
      });
    }
    

  },

  //-----------------------------------
  bind_toBuy:function(){
    var page = this;
    console.log(this.data.order);
    var son_order = g.son_order(this.data.order);
    
  

    //20404 提交 order 创建订单
    g.api({
      data: {
        code: 20404,
        shop_id: page.data.order.shop_id,
        //son_order: '[{ "go_id": "1", tmoney: 11, money: 11, amount: 1, st_id:1 }]',
         son_order: son_order
      },
      success: function (d) {
        if (1 == d.status) {
          var order_id = d.data.order_id;
          
          page.setData({
            flag:0,
          });

          wx.navigateTo({
            url: '/pages/buy/buy?order_id='+order_id,
          })

        } else {
          alert(d.message)
        }

      },
    }, 1);


  },
  //---------------------------------------
  bind_addCart: function () {
    var page =this;
    g.cart.add(this.data.order,function(){
      page.setData({
        flag: 0,
      });
    });
    // g.cart.list = 
  },

  //---------------------------------------
})